iT邦幫忙

2026 iThome 鐵人賽

DAY 29
0
Software Development

當 AI 越來越會寫程式,開發者究竟還需要懂什麼系列 第 29 篇

Day29 - 文件最值得記錄的,是為什麼這樣做

  • 分享至 

  • xImage
  •  

報表匯出服務有個設定:所有工作節點合計,最多同時執行兩份大型報表。尖峰時段有人反映等待太久,團隊準備評估能不能調高上限。

程式看得出數字是 2,文件也寫「並行上限為 2」,卻沒有留下原因。這是早期環境的限制、曾經量測後的選擇,還是先設定一個保守值?

原因要說清楚保護了什麼、接受了什麼

假設當時的量測發現,匯出服務與訂單查詢共用資料庫。提高大型報表並行數後,訂單查詢超出回應時間目標,因此團隊在當時的資料量與環境下,將上限設為兩份,接受尖峰時報表需要排隊。

文件若只寫「為了效能」,就省略了這個取捨:保護的是一般訂單查詢,代價是報表較晚完成。日後想縮短報表等待時間,就需要同時考慮對線上查詢的影響。

數字的作用範圍也要留下來。「全部工作節點合計兩份」與「每台兩份」代表不同的負載。後來增加節點時,如果只保留數字、遺失範圍,就可能改變原本決策想達到的結果。

記錄當時的選擇,也留下重新選擇的條件

這類內容可以整理成簡短的決策紀錄;涉及架構選擇時,也常稱為 ADR。以下用這個案例示意:

項目 這個案例要留下的內容
決定 共用資料庫上的大型報表,合計最多同時執行兩份
證據 對應的量測報告、資料量、環境與程式版本
取捨 保護訂單查詢的回應時間,接受報表排隊
未採用的方案 當時曾評估獨立報表資料來源,但資料同步方式與可接受延遲尚未確認,因此暫未採用
重新評估時機 資料來源或容量改變,或排隊時間已無法滿足營運需要

只記錄實際比較過的方案,並區分已量測的結果與尚待確認的風險,不必為了填滿表格補寫。當年的量測支持上限為兩份,也不表示這個值永遠適用;留下重新評估的條件,才能讓文件成為調整的依據。

合理的解釋,不能取代真實的決策依據

AI可以從程式流程與設定推導出限制並行數的合理原因,但「這樣設計有什麼好處」,不等於「團隊當時為什麼這樣選」。若原始討論或量測紀錄已不可考,就將原因標為待確認,並分開記錄目前的推測與查證結果,避免把推論當成歷史事實。

日後改採新方案時,保留舊紀錄並標示取代它的新決策,同時更新相關設定與操作文件。讓過去的選擇有跡可循,也讓目前有效的做法清楚可辨。

有用的決策文件,留下選擇的依據、接受的代價與適用條件。後來的人才能判斷哪些理由仍然成立,哪些限制已經值得重新考慮。


「這個限制是誰訂的?」
「三個月前的你。」
「有寫原因嗎?」
「你寫:這個很重要,不要改。」

/images/emoticon/emoticon31.gif


上一篇
Day28 - 讓變更可以被理解與撤回
下一篇
Day30 - 程式寫得出來之後,還剩下哪些判斷
系列文
當 AI 越來越會寫程式,開發者究竟還需要懂什麼 共 30 篇
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言